package com.chengxiaoxiao.ai_demo.config.pgvector;

import dev.langchain4j.store.embedding.pgvector.MetadataStorageConfig;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

@Data
@ConfigurationProperties(prefix = PgVectorEmbeddingStoreProperties.PREFIX)
public class PgVectorEmbeddingStoreProperties {

    static final String PREFIX = "langchain4j.pgvector";
    static final String DEFAULT_HOST = "localhost";
    static final int DEFAULT_PORT = 5432;

    /**
     * 主机
     */
    private String host = DEFAULT_HOST;

    /**
     * 端口
     */
    private int port = DEFAULT_PORT;

    /**
     * 用户
     */
    private String user;

    /**
     * 密码
     */
    private String password;

    /**
     * 数据库
     */
    private String database;

    /**
     * 表名
     */
    private String tableName;
    /**
     * 是否使用索引
     */
    private Boolean useIndex;
    /**
     * 索引列表大小
     */
    private Integer indexListSize;
    /**
     * 是否创建表
     */
    private Boolean createTable;
    /**
     * 是否删除表
     */
    private Boolean dropTableFirst;
    /**
     * 元数据配置
     */
    private MetadataStorageConfig metadataStorageConfig;
}
